

package MODELO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;


public class Modelo {

    public Modelo(){

    }

    public void crear_archivo(String ruta_y_nombre){      

            char a=(char)92;
            String a1=String.valueOf(a);
            String a2=a1+a1;
            String direccion="";
            for(int i=0;i<ruta_y_nombre.length();i++)
            {
                if(ruta_y_nombre.charAt(i)==a1.charAt(0)){
                    direccion+=a2;
                }
                else{
                   direccion+= ruta_y_nombre.charAt(i);
                }
            }
            direccion+=".ent.txt";
            //System.out.println("Nueva direccion: "+direccion);
        try {
            BufferedWriter lapiz = new BufferedWriter(new FileWriter(direccion));
            String linea1="ALGORITMO nombre_algoritmo";
            String linea2="VAR";
            String linea3="CONST";
            String linea4="INICIO ";
            String linea5="FIN ALGORITMO";
            lapiz.write(linea1);
            lapiz.newLine();
            lapiz.write(linea2);
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.write(linea3);
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.write(linea4);
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.newLine();
            lapiz.write(linea5);           
            lapiz.close();

        } catch (IOException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void guardar_archivo(List<String> todo, String ruta_y_nombre){
        char a=(char)92;
            String a1=String.valueOf(a);
            String a2=a1+a1;
            String direccion="";
            for(int i=0;i<ruta_y_nombre.length();i++)
            {
                if(ruta_y_nombre.charAt(i)==a1.charAt(0)){
                    direccion+=a2;
                }
                else{
                   direccion+= ruta_y_nombre.charAt(i);
                }
            }
            direccion+=".ent.txt";
            //System.out.println("monalisa "+direccion);
            a1=null;
        try {
            BufferedWriter lapiz = new BufferedWriter(new FileWriter(direccion));
            for(String i:todo){
                lapiz.write(i);
                lapiz.newLine();
            }
            lapiz.close();
        } catch (IOException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public List<String> cargar_contenido_archivo(String ruta_y_nombre, boolean band) throws IOException{
       List<String> lista = new ArrayList();
       String linea = null;
       BufferedReader filtro=null;
       char a=(char)92;
            String a1=String.valueOf(a);
            String a2=a1+a1;
            String direccion="";
            for(int i=0;i<ruta_y_nombre.length();i++)
            {
                if(ruta_y_nombre.charAt(i)==a1.charAt(0)){
                    direccion+=a2;
                }
                else{
                   direccion+= ruta_y_nombre.charAt(i);
                }
            }
            
                direccion+=".ent.txt";
            
            //System.out.println("joooooooooder "+direccion);
            
        try {
            filtro = new BufferedReader(new FileReader(direccion));
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            linea = filtro.readLine();
        } catch (IOException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }
         while(linea!=null){
             //System.out.println("LINEA: "+linea);
             lista.add(linea);
             linea=filtro.readLine();
         }
         filtro.close();

       return lista;
    }

}
